package com.example.shardingsphere.sharding;

/**
 * describe: 分片数据处理
 *
 * @author lianying
 * @date 2023/05/05
 */
public interface ShardingHandler<ENTITY,ID>{
    /**
     * 创建ID
     *
     * @param t
     * @return
     */
    ID createId(ENTITY t);

    /**
     * 计算db下标
     *
     * @param id
     * @return
     */
    int getDbIndex(ID id);

    /**
     * 计算表下标
     *
     * @param id
     * @return
     */
    int getTableIndex(ID id);

}
